package models

import "study/gvb_study/gvb_server/models/ctype"

// UserModel 用户表
type UserModel struct {
	MODEL
	NickName       string           `gorm:"size:36" json:"nick_name"`                                                              // 昵称                                                                          // 昵称
	UserName       string           `gorm:"size:36" json:"user_name"`                                                              // 用户名
	Password       string           `gorm:"size:128" json:"password"`                                                              // 密码
	Salt           string           `json:"salt"`                                                                                  // 密码盐
	Avatar         string           `gorm:"size:256" json:"avatar_id"`                                                             // 头像id
	Email          string           `gorm:"size:128" json:"email"`                                                                 // 邮箱
	Tel            string           `gorm:"size:18" json:"tel"`                                                                    // 手机号
	Addr           string           `gorm:"size:64" json:"addr"`                                                                   // 地址
	Token          string           `gorm:"size:64" json:"token"`                                                                  // 其他平台的唯一id  ---- token 后续写到redis中，不写入这里了，原来是想做永久登录的
	IP             string           `gorm:"size:20" json:"ip"`                                                                     // ip
	Role           ctype.Role       `gorm:"size:4;default:1" json:"role"`                                                          // 权限 1 管理员 2 普通用户 3 游客 4 被禁用
	SignStatus     ctype.SignStatus `gorm:"type=smallint(6)" json:"sign_status"`                                                   // 注册来源 qq 邮箱 手机等
	ArticleModels  []ArticleModel   `gorm:"foreignKey:UserID" json:"-"`                                                            // 发布文章列表
	CollectsModels []ArticleModel   `gorm:"many2many:user_collect_models;joinForeignKey:UserID;JoinReferences:ArticleID" json:"-"` // 收藏文章列表
}
